package com.ssy.lingxi.message.service;


import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.message.model.dto.ImGetChatRecordDTO;
import com.ssy.lingxi.message.model.dto.ImNotifyDTO;
import com.ssy.lingxi.message.model.vo.HistorySessionVO;
import com.ssy.lingxi.message.model.vo.ImChatRecordVO;
import com.ssy.lingxi.message.model.vo.UserSigVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * im - 业务处理层
 * @author fhj
 * @date 2021/03/22
 * @version 2.0.0
 */
public interface ImService {

    Wrapper<List<HistorySessionVO>> all(Integer source, UserLoginCacheDTO user);

    Wrapper<Void> add(Long sessionMemberId, Integer source, UserLoginCacheDTO user);

    Wrapper<UserSigVO> getUserSig(String userId, UserLoginCacheDTO user);

    String notify(ImNotifyDTO dto, HttpServletRequest request);

    Wrapper<PageData<ImChatRecordVO>> getChatRecord(ImGetChatRecordDTO dto);
}
